getwd()
[1] "/Users/cory/Projects/DDSAnalytics_customer_attrition"
data <- read.csv("CaseStudy1-data.csv")
# Data Dimensionality
dim(data)
[1] 870 36
# Missing Values
sum(is.na(data))
[1] 0
str(data)
'data.frame': 870 obs. of 36 variables:
$ ID : int 1 2 3 4 5 6 7 8 9 10 ...
$ Age : int 32 40 35 32 24 27 41 37 34 34 ...
$ Attrition : chr "No" "No" "No" "No" ...
$ BusinessTravel : chr "Travel_Rarely" "Travel_Rarely" "Travel_Frequently" "Travel_Rarely" ...
$ DailyRate : int 117 1308 200 801 567 294 1283 309 1333 653 ...
$ Department : chr "Sales" "Research & Development" "Research & Development" "Sales" ...
$ DistanceFromHome : int 13 14 18 1 2 10 5 10 10 10 ...
$ Education : int 4 3 2 4 1 2 5 4 4 4 ...
$ EducationField : chr "Life Sciences" "Medical" "Life Sciences" "Marketing" ...
$ EmployeeCount : int 1 1 1 1 1 1 1 1 1 1 ...
$ EmployeeNumber : int 859 1128 1412 2016 1646 733 1448 1105 1055 1597 ...
$ EnvironmentSatisfaction : int 2 3 3 3 1 4 2 4 3 4 ...
$ Gender : chr "Male" "Male" "Male" "Female" ...
$ HourlyRate : int 73 44 60 48 32 32 90 88 87 92 ...
$ JobInvolvement : int 3 2 3 3 3 3 4 2 3 2 ...
$ JobLevel : int 2 5 3 3 1 3 1 2 1 2 ...
$ JobRole : chr "Sales Executive" "Research Director" "Manufacturing Director" "Sales Executive" ...
$ JobSatisfaction : int 4 3 4 4 4 1 3 4 3 3 ...
$ MaritalStatus : chr "Divorced" "Single" "Single" "Married" ...
$ MonthlyIncome : int 4403 19626 9362 10422 3760 8793 2127 6694 2220 5063 ...
$ MonthlyRate : int 9250 17544 19944 24032 17218 4809 5561 24223 18410 15332 ...
$ NumCompaniesWorked : int 2 1 2 1 1 1 2 2 1 1 ...
$ Over18 : chr "Y" "Y" "Y" "Y" ...
$ OverTime : chr "No" "No" "No" "No" ...
$ PercentSalaryHike : int 11 14 11 19 13 21 12 14 19 14 ...
$ PerformanceRating : int 3 3 3 3 3 4 3 3 3 3 ...
$ RelationshipSatisfaction: int 3 1 3 3 3 3 1 3 4 2 ...
$ StandardHours : int 80 80 80 80 80 80 80 80 80 80 ...
$ StockOptionLevel : int 1 0 0 2 0 2 0 3 1 1 ...
$ TotalWorkingYears : int 8 21 10 14 6 9 7 8 1 8 ...
$ TrainingTimesLastYear : int 3 2 2 3 2 4 5 5 2 3 ...
$ WorkLifeBalance : int 2 4 3 3 3 2 2 3 3 2 ...
$ YearsAtCompany : int 5 20 2 14 6 9 4 1 1 8 ...
$ YearsInCurrentRole : int 2 7 2 10 3 7 2 0 1 2 ...
$ YearsSinceLastPromotion : int 0 4 2 5 1 1 0 0 0 7 ...
$ YearsWithCurrManager : int 3 9 2 7 3 7 3 0 0 7 ...
# Summary statistics
summary(data)
ID Age Attrition BusinessTravel DailyRate Department DistanceFromHome Education EducationField
Min. : 1.0 Min. :18.00 Length:870 Length:870 Min. : 103.0 Length:870 Min. : 1.000 Min. :1.000 Length:870
1st Qu.:218.2 1st Qu.:30.00 Class :character Class :character 1st Qu.: 472.5 Class :character 1st Qu.: 2.000 1st Qu.:2.000 Class :character
Median :435.5 Median :35.00 Mode :character Mode :character Median : 817.5 Mode :character Median : 7.000 Median :3.000 Mode :character
Mean :435.5 Mean :36.83 Mean : 815.2 Mean : 9.339 Mean :2.901
3rd Qu.:652.8 3rd Qu.:43.00 3rd Qu.:1165.8 3rd Qu.:14.000 3rd Qu.:4.000
Max. :870.0 Max. :60.00 Max. :1499.0 Max. :29.000 Max. :5.000
EmployeeCount EmployeeNumber EnvironmentSatisfaction Gender HourlyRate JobInvolvement JobLevel JobRole JobSatisfaction
Min. :1 Min. : 1.0 Min. :1.000 Length:870 Min. : 30.00 Min. :1.000 Min. :1.000 Length:870 Min. :1.000
1st Qu.:1 1st Qu.: 477.2 1st Qu.:2.000 Class :character 1st Qu.: 48.00 1st Qu.:2.000 1st Qu.:1.000 Class :character 1st Qu.:2.000
Median :1 Median :1039.0 Median :3.000 Mode :character Median : 66.00 Median :3.000 Median :2.000 Mode :character Median :3.000
Mean :1 Mean :1029.8 Mean :2.701 Mean : 65.61 Mean :2.723 Mean :2.039 Mean :2.709
3rd Qu.:1 3rd Qu.:1561.5 3rd Qu.:4.000 3rd Qu.: 83.00 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.:4.000
Max. :1 Max. :2064.0 Max. :4.000 Max. :100.00 Max. :4.000 Max. :5.000 Max. :4.000
MaritalStatus MonthlyIncome MonthlyRate NumCompaniesWorked Over18 OverTime PercentSalaryHike PerformanceRating
Length:870 Min. : 1081 Min. : 2094 Min. :0.000 Length:870 Length:870 Min. :11.0 Min. :3.000
Class :character 1st Qu.: 2840 1st Qu.: 8092 1st Qu.:1.000 Class :character Class :character 1st Qu.:12.0 1st Qu.:3.000
Mode :character Median : 4946 Median :14074 Median :2.000 Mode :character Mode :character Median :14.0 Median :3.000
Mean : 6390 Mean :14326 Mean :2.728 Mean :15.2 Mean :3.152
3rd Qu.: 8182 3rd Qu.:20456 3rd Qu.:4.000 3rd Qu.:18.0 3rd Qu.:3.000
Max. :19999 Max. :26997 Max. :9.000 Max. :25.0 Max. :4.000
RelationshipSatisfaction StandardHours StockOptionLevel TotalWorkingYears TrainingTimesLastYear WorkLifeBalance YearsAtCompany YearsInCurrentRole
Min. :1.000 Min. :80 Min. :0.0000 Min. : 0.00 Min. :0.000 Min. :1.000 Min. : 0.000 Min. : 0.000
1st Qu.:2.000 1st Qu.:80 1st Qu.:0.0000 1st Qu.: 6.00 1st Qu.:2.000 1st Qu.:2.000 1st Qu.: 3.000 1st Qu.: 2.000
Median :3.000 Median :80 Median :1.0000 Median :10.00 Median :3.000 Median :3.000 Median : 5.000 Median : 3.000
Mean :2.707 Mean :80 Mean :0.7839 Mean :11.05 Mean :2.832 Mean :2.782 Mean : 6.962 Mean : 4.205
3rd Qu.:4.000 3rd Qu.:80 3rd Qu.:1.0000 3rd Qu.:15.00 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.:10.000 3rd Qu.: 7.000
Max. :4.000 Max. :80 Max. :3.0000 Max. :40.00 Max. :6.000 Max. :4.000 Max. :40.000 Max. :18.000
YearsSinceLastPromotion YearsWithCurrManager
Min. : 0.000 Min. : 0.00
1st Qu.: 0.000 1st Qu.: 2.00
Median : 1.000 Median : 3.00
Mean : 2.169 Mean : 4.14
3rd Qu.: 3.000 3rd Qu.: 7.00
Max. :15.000 Max. :17.00
# Duplicate Analysis
sum(duplicated(data))
[1] 0
# Columns in data
colnames(data)
[1] "ID" "Age" "Attrition" "BusinessTravel" "DailyRate"
[6] "Department" "DistanceFromHome" "Education" "EducationField" "EmployeeCount"
[11] "EmployeeNumber" "EnvironmentSatisfaction" "Gender" "HourlyRate" "JobInvolvement"
[16] "JobLevel" "JobRole" "JobSatisfaction" "MaritalStatus" "MonthlyIncome"
[21] "MonthlyRate" "NumCompaniesWorked" "Over18" "OverTime" "PercentSalaryHike"
[26] "PerformanceRating" "RelationshipSatisfaction" "StandardHours" "StockOptionLevel" "TotalWorkingYears"
[31] "TrainingTimesLastYear" "WorkLifeBalance" "YearsAtCompany" "YearsInCurrentRole" "YearsSinceLastPromotion"
[36] "YearsWithCurrManager"
# Gives me the proportion of each level in the target variable
prop.table(table(data$Attrition)) * 100
No Yes
83.90805 16.09195
Frito Lays’ Attrition rate is 16.09%. This means that 16.09% of customers have churned.
str(data)
'data.frame': 870 obs. of 36 variables:
$ ID : int 1 2 3 4 5 6 7 8 9 10 ...
$ Age : int 32 40 35 32 24 27 41 37 34 34 ...
$ Attrition : chr "No" "No" "No" "No" ...
$ BusinessTravel : chr "Travel_Rarely" "Travel_Rarely" "Travel_Frequently" "Travel_Rarely" ...
$ DailyRate : int 117 1308 200 801 567 294 1283 309 1333 653 ...
$ Department : chr "Sales" "Research & Development" "Research & Development" "Sales" ...
$ DistanceFromHome : int 13 14 18 1 2 10 5 10 10 10 ...
$ Education : int 4 3 2 4 1 2 5 4 4 4 ...
$ EducationField : chr "Life Sciences" "Medical" "Life Sciences" "Marketing" ...
$ EmployeeCount : int 1 1 1 1 1 1 1 1 1 1 ...
$ EmployeeNumber : int 859 1128 1412 2016 1646 733 1448 1105 1055 1597 ...
$ EnvironmentSatisfaction : int 2 3 3 3 1 4 2 4 3 4 ...
$ Gender : chr "Male" "Male" "Male" "Female" ...
$ HourlyRate : int 73 44 60 48 32 32 90 88 87 92 ...
$ JobInvolvement : int 3 2 3 3 3 3 4 2 3 2 ...
$ JobLevel : int 2 5 3 3 1 3 1 2 1 2 ...
$ JobRole : chr "Sales Executive" "Research Director" "Manufacturing Director" "Sales Executive" ...
$ JobSatisfaction : int 4 3 4 4 4 1 3 4 3 3 ...
$ MaritalStatus : chr "Divorced" "Single" "Single" "Married" ...
$ MonthlyIncome : int 4403 19626 9362 10422 3760 8793 2127 6694 2220 5063 ...
$ MonthlyRate : int 9250 17544 19944 24032 17218 4809 5561 24223 18410 15332 ...
$ NumCompaniesWorked : int 2 1 2 1 1 1 2 2 1 1 ...
$ Over18 : chr "Y" "Y" "Y" "Y" ...
$ OverTime : chr "No" "No" "No" "No" ...
$ PercentSalaryHike : int 11 14 11 19 13 21 12 14 19 14 ...
$ PerformanceRating : int 3 3 3 3 3 4 3 3 3 3 ...
$ RelationshipSatisfaction: int 3 1 3 3 3 3 1 3 4 2 ...
$ StandardHours : int 80 80 80 80 80 80 80 80 80 80 ...
$ StockOptionLevel : int 1 0 0 2 0 2 0 3 1 1 ...
$ TotalWorkingYears : int 8 21 10 14 6 9 7 8 1 8 ...
$ TrainingTimesLastYear : int 3 2 2 3 2 4 5 5 2 3 ...
$ WorkLifeBalance : int 2 4 3 3 3 2 2 3 3 2 ...
$ YearsAtCompany : int 5 20 2 14 6 9 4 1 1 8 ...
$ YearsInCurrentRole : int 2 7 2 10 3 7 2 0 1 2 ...
$ YearsSinceLastPromotion : int 0 4 2 5 1 1 0 0 0 7 ...
$ YearsWithCurrManager : int 3 9 2 7 3 7 3 0 0 7 ...
# Unique values in job_level
unique(data$JobLevel)
[1] 2 5 3 1 4
null_summary
ID Age Attrition BusinessTravel DailyRate Department
0 0 0 0 0 0
DistanceFromHome Education EducationField EmployeeCount EmployeeNumber EnvironmentSatisfaction
0 0 0 0 0 0
Gender HourlyRate JobInvolvement JobLevel JobRole JobSatisfaction
0 0 0 0 0 0
MaritalStatus MonthlyIncome MonthlyRate NumCompaniesWorked Over18 OverTime
0 0 0 0 0 0
PercentSalaryHike PerformanceRating RelationshipSatisfaction StandardHours StockOptionLevel TotalWorkingYears
0 0 0 0 0 0
TrainingTimesLastYear WorkLifeBalance YearsAtCompany YearsInCurrentRole YearsSinceLastPromotion YearsWithCurrManager
0 0 0 0 0 0
glimpse(data)
Rows: 870
Columns: 36
$ ID <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,…
$ Age <int> 32, 40, 35, 32, 24, 27, 41, 37, 34, 34, 43, 28, 35, 30, 46, 31, 32, 46, 34, 44, 36, 48, 43, 31, 33, 44, 38, 33…
$ Attrition <chr> "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "N…
$ BusinessTravel <chr> "Travel_Rarely", "Travel_Rarely", "Travel_Frequently", "Travel_Rarely", "Travel_Frequently", "Travel_Frequentl…
$ DailyRate <int> 117, 1308, 200, 801, 567, 294, 1283, 309, 1333, 653, 823, 280, 950, 202, 991, 1188, 498, 1144, 181, 170, 913, …
$ Department <chr> "Sales", "Research & Development", "Research & Development", "Sales", "Research & Development", "Research & De…
$ DistanceFromHome <int> 13, 14, 18, 1, 2, 10, 5, 10, 10, 10, 6, 1, 7, 2, 1, 20, 3, 7, 2, 1, 9, 2, 9, 2, 1, 5, 14, 9, 24, 19, 9, 21, 2,…
$ Education <int> 4, 3, 2, 4, 1, 2, 5, 4, 4, 4, 3, 2, 3, 1, 2, 2, 4, 4, 4, 4, 2, 1, 5, 4, 3, 3, 3, 4, 4, 4, 2, 3, 3, 4, 4, 3, 3,…
$ EducationField <chr> "Life Sciences", "Medical", "Life Sciences", "Marketing", "Technical Degree", "Life Sciences", "Medical", "Lif…
$ EmployeeCount <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ EmployeeNumber <int> 859, 1128, 1412, 2016, 1646, 733, 1448, 1105, 1055, 1597, 1866, 1858, 845, 508, 1314, 947, 966, 487, 1755, 190…
$ EnvironmentSatisfaction <int> 2, 3, 3, 3, 1, 4, 2, 4, 3, 4, 1, 3, 3, 3, 4, 4, 3, 3, 4, 2, 2, 2, 4, 4, 2, 2, 3, 1, 1, 4, 4, 2, 3, 4, 4, 2, 4,…
$ Gender <chr> "Male", "Male", "Male", "Female", "Female", "Male", "Male", "Female", "Female", "Male", "Female", "Male", "Mal…
$ HourlyRate <int> 73, 44, 60, 48, 32, 32, 90, 88, 87, 92, 81, 43, 59, 72, 44, 45, 93, 30, 97, 78, 48, 56, 72, 54, 42, 88, 80, 77…
$ JobInvolvement <int> 3, 2, 3, 3, 3, 3, 4, 2, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 2, 4, 3, 3, 2, 3, 3, 3, 3, 3, 1, 4, 1, 2, 2, 4, 2,…
$ JobLevel <int> 2, 5, 3, 3, 1, 3, 1, 2, 1, 2, 5, 1, 3, 1, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 5, 2, 2, 3, 1, 2, 1, 4, 1, 2, 1, 3,…
$ JobRole <chr> "Sales Executive", "Research Director", "Manufacturing Director", "Sales Executive", "Research Scientist", "Ma…
$ JobSatisfaction <int> 4, 3, 4, 4, 4, 1, 3, 4, 3, 3, 3, 4, 3, 2, 1, 3, 1, 3, 4, 1, 2, 2, 3, 1, 4, 2, 2, 1, 1, 4, 4, 2, 2, 3, 4, 2, 1,…
$ MaritalStatus <chr> "Divorced", "Single", "Single", "Married", "Single", "Divorced", "Married", "Divorced", "Married", "Married", …
$ MonthlyIncome <int> 4403, 19626, 9362, 10422, 3760, 8793, 2127, 6694, 2220, 5063, 19392, 2706, 10221, 2476, 3423, 6932, 6725, 5258…
$ MonthlyRate <int> 9250, 17544, 19944, 24032, 17218, 4809, 5561, 24223, 18410, 15332, 22539, 10494, 18869, 17434, 22957, 24406, 1…
$ NumCompaniesWorked <int> 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 7, 1, 3, 1, 6, 1, 1, 2, 0, 2, 2, 3, 3, 7, 0, 7, 0, 0, 6, 0, 0, 1, 3, 6, 8, 1, 9,…
$ Over18 <chr> "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", …
$ OverTime <chr> "No", "No", "No", "No", "Yes", "No", "Yes", "Yes", "Yes", "No", "No", "No", "No", "No", "No", "No", "No", "No"…
$ PercentSalaryHike <int> 11, 14, 11, 19, 13, 21, 12, 14, 19, 14, 13, 15, 21, 18, 12, 13, 12, 14, 14, 15, 11, 12, 13, 13, 14, 11, 11, 17…
$ PerformanceRating <int> 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3,…
$ RelationshipSatisfaction <int> 3, 1, 3, 3, 3, 3, 1, 3, 4, 2, 4, 2, 2, 1, 3, 4, 3, 3, 1, 4, 3, 4, 2, 4, 1, 3, 4, 1, 2, 1, 4, 4, 2, 2, 2, 3, 3,…
$ StandardHours <int> 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80…
$ StockOptionLevel <int> 1, 0, 0, 2, 0, 2, 0, 3, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 3, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 3, 3, 1, 1, 0, 0, 0,…
$ TotalWorkingYears <int> 8, 21, 10, 14, 6, 9, 7, 8, 1, 8, 21, 3, 17, 1, 10, 9, 8, 7, 6, 10, 13, 12, 10, 10, 6, 26, 10, 6, 15, 5, 9, 14,…
$ TrainingTimesLastYear <int> 3, 2, 2, 3, 2, 4, 5, 5, 2, 3, 2, 2, 3, 3, 3, 2, 2, 2, 3, 5, 2, 3, 3, 3, 3, 5, 3, 3, 2, 3, 2, 6, 2, 2, 1, 3, 3,…
$ WorkLifeBalance <int> 2, 4, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 4, 3, 4, 2, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 4, 3, 2, 3, 3, 1, 3,…
$ YearsAtCompany <int> 5, 20, 2, 14, 6, 9, 4, 1, 1, 8, 16, 3, 8, 1, 7, 9, 8, 1, 5, 2, 3, 2, 8, 5, 5, 22, 9, 5, 2, 4, 8, 14, 7, 8, 1, …
$ YearsInCurrentRole <int> 2, 7, 2, 10, 3, 7, 2, 0, 1, 2, 12, 2, 5, 0, 6, 8, 7, 0, 0, 0, 2, 2, 7, 2, 0, 9, 8, 2, 2, 3, 7, 11, 7, 0, 0, 1,…
$ YearsSinceLastPromotion <int> 0, 4, 2, 5, 1, 1, 0, 0, 0, 7, 6, 2, 1, 0, 5, 0, 6, 0, 1, 2, 0, 2, 4, 0, 1, 3, 7, 0, 2, 1, 0, 2, 7, 1, 0, 0, 6,…
$ YearsWithCurrManager <int> 3, 9, 2, 7, 3, 7, 3, 0, 0, 7, 14, 2, 6, 0, 7, 0, 3, 0, 2, 2, 2, 2, 7, 3, 4, 10, 7, 3, 2, 2, 7, 13, 7, 7, 0, 3,…
There is a slight right skew to the Age feature with most of the employees being around the age of 30-40.
The majority of employees do not travel for business purposes.
The Daily Rate feature appears to be uniformly distributed between 100 and 1500. No particulary useful distribution insights can be derived.
The majority of employees work in the Research & Development department, followed by Sales and then Human Resources.
There is a heavy concentration of employees living within 10 miles of work, with a gradual decrease in number of employees as distance increases.
Education has a normal distribution with the highest concentration of employees centering around level 3.
The majority of employees have a background in Life Sciences, followed by Medical and then Marketing.
The environmental satisfaction seems to show that more employees are satisfied than not.
The gender distribution is showing that there are more Males than females at the company.
No useful distribution insights can be derived from the Hourly Rate feature.
ggplot(data, aes(x = JobInvolvement)) +
geom_bar() +
geom_text(
stat = "count",
aes(label = ..count..),
vjust = -0.6, size = 4, color = "black"
) +
scale_y_continuous(expand = expansion(mult = c(0.02, 0.15))) +
theme_economist() +
labs(title = "Job Involvement Distribution", x = "Job Involvement Level", y = "Count") +
theme(
plot.title = element_text(hjust = 0.5, margin = margin(b = 12)),
axis.title.x = element_text(margin = margin(t = 12)),
axis.title.y = element_text(margin = margin(r = 12))
)
The job involvement appears to have a the majority of level 3 involvement, with level 4 being the least common.
The job level distribution shows that the majority of employees are at level 1, with a decreasing number of employees as job level increases.
Most employees are single.
The Monthly Income feature appears to be right skewed with most employees earning between $2000 and $8000 per month.
The number of companies worked feature appears to be right skewed with most employees having worked at 1-3 companies prior to their current employment.
Majority of employees do not work overtime.
Percent Salary hike is demonstrating a heavy right skew with most employees receiving between 10-15% salary hikes.
Majority of employees have a performance rating of 3, with very few employees receiving a rating of 4.
Majority of employees have a relationship satisfaction level of 3 or 4, with level 2 being the least common by a slim margin.
All employees have standard hours of 80.
Majority of employees have a stock option level of 0, with very few employees having a stock option level of 3.
The Total Working Years feature appears to be right skewed with most employees having between 0-10 years of total working experience.
Majority of employees have undergone training 2-3 times in the last year.
Majority of employees have a work life balance level of 3, with level 1 being the least common.
The Years At Company feature appears to be right skewed with most employees having between 0-10 years at the company.
The Years In Current Role feature appears to be right skewed with most employees having between 0-7 years in their current role.
The Years Since Last Promotion feature appears to be right skewed with most employees having between 0-3 years since their last promotion.
The Years With Current Manager feature appears to be right skewed with most employees having between 0-7 years with their current manager.